package com.tjec.project.projectWorkbench.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tjec.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjec.framework.web.domain.BaseEntity;

import java.util.Date;

/**
 * 项目成员对象 bms_project_member
 * 
 * @author tjec
 * @date 2020-04-10
 */
public class BmsProjectMember extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id 主键 */
    @JsonIgnore
    private String id;

    /** 项目ID 项目ID */
    @ApiModelProperty(value = "项目ID")
    private String projectId;

    /** 项目名称*/
    @ApiModelProperty(value = "项目名称")
    @Excel(name = "项目名称")
    private String projectName;

    /** 用户ID 用户ID */
    @ApiModelProperty(value = "用户ID")
    private String userId;

    /** 角色 角色(0项目经理，1项目成员) */
    @ApiModelProperty(value = "角色(0项目经理，1项目成员)")
    private String role;

    /** 工作内容 */
    @ApiModelProperty(value = "工作内容")
    private String workContent;

    /** 工作量 */
    @ApiModelProperty(value = "工作量")
    private Integer workload;

    /** 姓名 */
//    @Excel(name = "姓名")
    private String nickName;

    /** 员工编号 */
//    @Excel(name = "员工编号")
    private String jobNo;

    /** 手机号码 */
//    @Excel(name = "手机号码")
    private String phonenumber;

    /** 用户邮箱 */
//    @Excel(name = "用户邮箱")
    private String email;

    /** 用户邮箱 */
//    @Excel(name = "用户状态")
    private String status;

    /** 项目代码 */
    @Excel(name = "项目代码")
    private String projectCode;

    /** 项目实施状态 */
    @Excel(name = "项目进展")
    private String projectStatus;

    /** 项目负责人姓名*/
    private String projectLeaderName;

    /** 是否为当前项目组成员 */
    @Excel(name = "当前项目组成员")
    private String projectMemberFlag;

    /** 参与时间 */
    @ApiModelProperty(value = "参与时间(yyyy-MM-dd)")
    @Excel(name = "进入项目组时间", width = 30 ,  dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date joinTime;

    /** 离开项目组时间 */
    @Excel(name = "离开项目组时间", width = 30 ,  dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date leaveTime;
    /*业务id*/
    private String businessId;

    /** 合并行 */
//    @Excel(name = "合并行")
    private int colspan;

    /** UUID  */
    private String guid;

    /** delFlag  */
    private String delFlag;

    /** 项目负责人代码*/
    private String projectLeaderNo;

    public String getProjectLeaderNo() {
        return projectLeaderNo;
    }

    public void setProjectLeaderNo(String projectLeaderNo) {
        this.projectLeaderNo = projectLeaderNo;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getJobNo() {
        return jobNo;
    }

    public void setJobNo(String jobNo) {
        this.jobNo = jobNo;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getGuid() {
        return guid;
    }

    public void setGuid(String guid) {
        this.guid = guid;
    }

    public int getColspan() {
        return colspan;
    }

    public void setColspan(int colspan) {
        this.colspan = colspan;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectLeaderName() {
        return projectLeaderName;
    }

    public void setProjectLeaderName(String projectLeaderName) {
        this.projectLeaderName = projectLeaderName;
    }

    public String getProjectMemberFlag() {
        return projectMemberFlag;
    }

    public void setProjectMemberFlag(String projectMemberFlag) {
        this.projectMemberFlag = projectMemberFlag;
    }

    public Date getLeaveTime() {
        return leaveTime;
    }

    public void setLeaveTime(Date leaveTime) {
        this.leaveTime = leaveTime;
    }

    public String getProjectStatus() {
        return projectStatus;
    }

    public void setProjectStatus(String projectStatus) {
        this.projectStatus = projectStatus;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }

    public String getProjectId()
    {
        return projectId;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }
    public void setRole(String role)
    {
        this.role = role;
    }

    public String getRole() 
    {
        return role;
    }
    public void setJoinTime(Date joinTime)
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime()
    {
        return joinTime;
    }
    public void setWorkContent(String workContent) 
    {
        this.workContent = workContent;
    }

    public String getWorkContent() 
    {
        return workContent;
    }
    public void setWorkload(Integer workload) 
    {
        this.workload = workload;
    }

    public Integer getWorkload() 
    {
        return workload;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("userId", getUserId())
            .append("role", getRole())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("joinTime", getJoinTime())
            .append("workContent", getWorkContent())
            .append("workload", getWorkload())
            .append("businessId", getBusinessId())
            .toString();
    }

	public String getBusinessId() {
		return businessId;
	}

	public void setBusinessId(String businessId) {
		this.businessId = businessId;
	}
}
